#pragma once

#include <SFML/Graphics.hpp>
#include <SFML/Audio.hpp>
#include <SFML/Config.hpp>
#include <SFML/Window.hpp>
#include <vector>
#include <utility>
#include <string>
#include <algorithm>
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include "seGameObjectManager.h"
#include "seGame.h"

using namespace std;

#define ONE_FRAME_DURATION 1.0f/60.0f

extern sf::RenderWindow app;
extern float viewWidth;
extern float viewHeight;
//extern sf::Event event;
extern const sf::Input& gInput;

extern seGame::GameState mGameState;

extern string gPlayerName;

extern seGameObjectManager _gameObjectManager;
extern const seGameObjectManager& GetGameObjectManager();

extern sf::Music Music0, Music1, MusicMenu;
extern std::vector<std::pair<sf::SoundBuffer,std::string> > Sounds; 
extern std::vector<sf::Sound> Players;
bool handleMusic();
void playSound(std::string name);